package cn.iocoder.yudao.module.system.controller.admin.teacherdashboard.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.util.List;

@Schema(description = "管理后台 - 教师看板数据查询 Request VO")
@Data
public class TeacherDashboardReqVO {

    @Schema(description = "教师ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    @NotNull(message = "教师ID不能为空")
    private Long teacherId;

    @Schema(description = "班级ID", example = "1")
    private Long classId;

    @Schema(description = "考试ID", example = "1")
    private Long examId;

    @Schema(description = "是否包含升学分析", example = "true")
    private Boolean includeAdmissionAnalysis = true;

    @Schema(description = "是否包含成绩统计", example = "true")
    private Boolean includeScoreStatistics = true;

    @Schema(description = "是否包含学生排名", example = "true")
    private Boolean includeStudentRanking = true;

    @Schema(description = "是否包含对比分析", example = "true")
    private Boolean includeComparison = true;

    @Schema(description = "是否包含趋势分析", example = "true")
    private Boolean includeTrendAnalysis = true;

    @Schema(description = "对比考试ID列表", example = "[1, 2, 3]")
    private List<Long> comparisonExamIds;

    @Schema(description = "统计维度", example = "CLASS")
    private String statisticsDimension = "CLASS"; // CLASS, GRADE, SUBJECT

}
